There are several general architectures of servers in networks which provide services to users of remote terminals, devices, and web browsers. A fundamental requirement for such arrangements is for user-specific data, such as a user's account information, to be made available to a particular application server computer selected from a group of application servers in the network. One such approach is to replicate all user data to all applications servers. A drawback of this approach is the cost and size of the data storage footprint, the inability to scale the solution well, and the complexity of managing such an environment.
A alternative to this approach is to manually break a networked computing environment into clusters, where the client device is directly configured to connect with a particular cluster. This is an adequate solution for certain environments such as on closed networks with thick clusters. However, this approach does not lend itself to the more advanced model of cloud or thin-client computing. Management of the clusters becomes costly.
Another approach has been to have database servers act as “backend” databases, where all database servers are networked to all application servers so that the user-specific data does not have to be replicated, it is simply accessed from the selected application server over the network. This latter solution avoids replication, but is notably more complex to configure, maintain, and significantly more expensive in many realizations.
Content-based routers, or so-called layer-seven routers, provide a split connection proxy to direct user computers to particular application servers in a network by terminating a Transmission Control Protocol/Internet Protocol (TCP/IP) connection between the user computer and the content-based router, and establishing a new TCP/IP connection between the content-based router and the selected back-end server, typically routing hyper text transfer protocol (HTTP) page requests to the selected application server and responses from the server back to the user computer. As such, content-based routers can be viewed as specialized layer-seven routers, where the term “layer-seven” generally refers to the Open Systems Interconnection (OSI) seven-layer model promulgated in International Standards Organization (ISO) standard number 7498, which is described in more detail in the following paragraphs under “Open Systems Interconnection Models”.
Reverse proxies and content-based routers can distribute (“spray”) connections and sessions using many different methods to a plurality of back-end application servers, but generally speaking, once a connection is established between a user computer and an application server, the user computer is affinitized to a specific application server. This has the aforementioned drawback in that when the user-specific application data is stored directly on the application servers (versus being stored by a back-end database), the user-specific data must be replicated to every server or must be replicated to each server as needed.
In another patent application filed Jun. 16, 2009, now U.S. Ser. No. 12/485,653, a method for real-time look-ups to route users to specific back-end servers has been described in order to solve this issue. However, there remains a limitation of increased delay for the look-ups, as well as increased cost by deploying more servers.